<?php
/*
 * 登录控制器
 * @author     Leo
 * @Created  2014/12/31
 */
namespace Admin\Controller;
use Think\Controller;
class LoginController extends Controller {
	/**
	 * 登陆页面
	 */
		// public function index(){
    //  		$this->display();
    // }
 /**
	* 登陆操作
	*/
	public function login(){
		if(IS_POST){

			 $username=I('post.username'); //先获取POST username也就是用户填写的登录用户名
			 $password=I('post.password');//获取用户登录时输入的用户密码
		 	 $AdminModel=D('Admin'); //配置数据库

			 //首先验证验证码
			  $code=I('post.yzm');
			  $Verify = new \Think\Verify();
			  if(!$Verify->check($code)){
				$this->error('验证码错误','',7);
				}

			if(!$AdminModel->create()){//自动验证
					 echo $AdminModel->getError();
		    exit;
			 }

			 $userinfo=$AdminModel->where(array('username'=>$username))->find(); //查找 用户名一样的账户的信息
				if(!$userinfo){  //如果查询出来的用户信息为空则 报错
				$this->error('用户名错误','',2); //用户信息为空,报错  error函数参
				//error('要显示的错误信息','跳转地址','等待时间')
			 }

			 if($userinfo['password']!==md5($password.$userinfo['salt'])){
				$this->error('密码错误','',2);
			 }else{
				/*$this->success('登陆成功','',2);*/

				//登陆成功记录登陆时间与IP
				 $data['logintime'] = time();
				 $data['loginip'] = get_client_ip();
         $AdminModel->where(['username'=>$username])->save($data);
				 //$User->where('username='.$username)->save($data);

				 //写cookie
				cookie('user_id',$userinfo['password']);
				cookie('username',$userinfo['username']);
				cookie('ur',$userinfo['rid']); //这个是角色id
				$cookieD=jiami($userinfo['password'].$userinfo['username'].C('C_SALT').$userinfo['rid']);
				cookie('Hkey',$cookieD);
				$this->redirect("Index/index");
			 }

		 }
		$this->display();
		}
	/**
	 * 退出操作
	 */
	public  function logout(){
		//清空cookie的值
		 cookie('username',null);
		 cookie('cookiekey',null);
		 cookie('user_id',null);
		 cookie('ur',null);
		 $this->success('退出成功','/',2);
		}

	/**
	 * 验证码函数
	 */
	public function yzm(){
		$Verify = new \Think\Verify();
		$Verify->imageW=0;
		$Verify->imageH=0;
		$Verify->entry();
	}

	/**
	 * 盐函数
	 */
	public  function yan(){
		$str=djkashjdhasjdhajkhdajhdjkahd;  //进行盐操作 随机生成一段字符
			return substr(str_shuffle($str),0,8);   //先对数据进行打乱  函数 str_shuffle然后截取字符段  函数substr(数据,起始点,长度) 然后对数据进行返回方便后面进行调用
	}
	/**
	 * 退出操作
	 */
// public  function logout(){
// 	 cookie('username',null);
// 	 cookie('cookiekey',null);
// 	 cookie('user_id',null);
// 	 $this->redirect("Login/index");
// }

// //后台注册测试!!!
// 	public function reg(){
//     if(IS_POST){
//     	 $AdminModel=D('Admin');
//     	//$UserModel
//     		if(!$AdminModel->create()){//create会对你post的数据进行发送验证
//     		echo $AdminModel->getError();
//        exit;
//        }
//        $s=$this->yan();
//        $AdminModel->password=md5($AdminModel->password.$s); //对密码进行加盐和md5加密
//        $AdminModel->salt=$s; //在数据库写入盐
//        if($AdminModel->add()){
//           $this->redirect('Index/Index');
//         } //将post的数据的写入到数据库里面!!
//     }
//       $this->display();
//     }
}
